package algoritmo;
import interfaz.Interfaz;


public class Main {
	public static void main(String[] args){
		Interfaz i = new Interfaz();
		i.inicializarInterfaz();
		
		/*
		//float a = Main.prueba();
//		AGenetico ag = new AGenetico(100,100,(float)0.6,(float)0.1,(float)0.001);
//		ag.inicializa();
//		ag.pinta();
//		ag.evaluacionRetocada();
//		int tamElite = 4;
//		ag.evaluarPoblacion();
//		while( !ag.terminado() ){
//			//System.out.println("GENERACION"+ag.num_max_generac);
//			if(i.getElitismo().isSelected())
//				ag.separarMejores(tamElite);
//			ag.decrementaNum_max_generac();
//			if(i.getMetodoCruce().getSelectedIndex() == 0)
//				ag.seleccionRuleta();//bien
//			else
//				ag.seleccionTorneo();
//			
//			ag.reproduccion();//ESTE ES EL QUE PONE ALGUNAS APTITUDES MENOR QUE CERO
//								//PQ REPRODUCCION LLAMA A CRUCE Y ESTE HACE UN EVALUA PERO ESTA BIEN
//			
//			
//			ag.mutacion();//SI UNA APTITUD NO ERA NEGATIVA, AL MUTAR, VUELVES A EVALUAR Y PUEDE QUE DE NEGATIVA
//			
//			if(i.getElitismo().isSelected()){
//				ag.incluirElitistas(tamElite);
//				ag.eliminarElite();
//			}
//			
//			ag.evaluacionRetocada();
//			//ag.comprobarAptitudes("a");
//			ag.evaluarPoblacion();
//			//ag.comprobarAptitudes("b");
//		}
//		ag.muestraElMejor();
//		for(int i=0;i<ag.losMejoresCadaGeneracion.size();i++){
//			
//			System.out.print(ag.losMejoresCadaGeneracion.get(i).getAptitud() + " " + i + "// ");
//			System.out.print(((CromosomaFuncionCuatro)ag.losMejoresCadaGeneracion.get(i)).getAptitudRetocada() + " " + i + "// ");
//			System.out.println();
//		}
		//ag.comprobarAptitudes("final");*/
	}
	
//	public static float prueba() { //Lo hace bien, esta mal el enunciado de la practica
//		float numerador = (float) Math.sin(Math.toRadians(4.5798));
//		float denominador = (float) (1 + (Math.sqrt(4.5798)) + (Math.cos(Math.toRadians(4.5798))/(1+4.5798)));
//		return numerador / denominador;
//	}
}
